

import java.util.Iterator;
import java.util.Vector;


/**
 * <p>Title: controler.Table </p>
 *
 * <p>Description: TODO </p>
 *
 * <p>Copyright: (c) 2008 FSSIM</p>
 *
 * <p>Company: FSSImock</p>
 *
 * @author Antoine Farnault
 * @author Augustin Couette
 * @version 1.0
 */
public class Table {
	public String nom;
	public String theme;
	public String proprietaire;
	public int capacite;
	public String motDePasse;
	public boolean privee;
	//public ArrayList<String> pseudos; // liste de personne sur la table
	public Vector<Client> clients;
	public Client tour;
	public int index = 0; 
	
	/**
	 * Constructeur de table
	 * @param nom
	 * @param theme
	 * @param proprietaire
	 * @param nombreJoueurs
	 * @param capacite
	 * @param motDePasse
	 */
	public Table(String nom,String theme,String proprietaire,int capacite,String motDePasse,boolean privee){
		this.nom = nom;
		this.theme = theme;
		this.proprietaire = proprietaire;
		this.capacite = capacite;
		this.motDePasse = motDePasse;
		this.privee = privee;
		clients = new Vector<Client>();
		tour = null;
	}
	
	/**
	 *@return une table sous forme de chaine de caractere
	 */
	public String toString(){
		return "[nom:"+nom+
				",theme:"+theme+
				",proprietaire:"+proprietaire+
				",privee:"+privee+
				",motDePasse:"+motDePasse+"]";
	}
	
	public static Table getTableByName(String name){
		Iterator<Table> it = Serveur.tables.iterator();
		while(it.hasNext()){
			Table t = it.next();
			if(t.nom.equalsIgnoreCase(name)){
				return t;
			}
		}
		return null;
	}

	public  void nextTour() {
		tour = clients.get(index++ % clients.size());
		Serveur.envoieATous("C'est a "+tour.name+" de jouer", "Serveur", nom, "255,000,000");
		try {
			Protocol.snd_tour(this);
		} catch (ProtocolException e) {
			e.printStackTrace();
		}
	}
	
}




